#ifndef _STRING3D_
#define _STRING3D_

#include <vector>
#include "vec3.h"

/* string3d
 * Used to draw 3d text on screen.
 * This class has all the letters in a static way so they
 * are loaded once using the `init()` function.
 * Each instance of this class, behaves like a style-font, 
 * this means that it has data to save text, but does not
 * save the text itself.
 */

class string3d
{
private:
	//Vectors of colors, front and back
	vec3 colorFront, colorBack;

	//Align - left 1 | center 2 | right 3
	unsigned char align;

public:
	//Constructor
	string3d();

	//Setters
	void setColorFront(float r, float g, float b);
	void setColorBack (float r, float g, float b);
	void setAlign (unsigned char);

	//Draw
	void draw(const char* text);
	void drawInt(int num);

	//Static
	static std::vector<vec3> letter[26], number[10];
	static void init();
};

#endif
